#pragma once
#ifndef __MESHANIMATIONAFFECTORFACTORY_H_
#define __MESHANIMATIONAFFECTORFACTORY_H_
#include "DestinyParticleFxPrerequisites.h"
#include "OgreParticleAffectorFactory.h"

namespace Destiny
{
	class CMeshAnimationAffectorFactory:public Ogre::ParticleAffectorFactory
	{
	private:
		CMeshAnimationAffectorFactory(void);
		static CMeshAnimationAffectorFactory* mSelf ;

	public:
		~CMeshAnimationAffectorFactory(void);

		static CMeshAnimationAffectorFactory* getSingletonPtr()
		{
			if ( NULL == mSelf )
			{
				mSelf = new CMeshAnimationAffectorFactory ;
			}
			return mSelf ;
		}

		virtual Ogre::String getName() const
		{
			return "MeshAnimationAffector" ;
		}

		virtual Ogre::ParticleAffector* createAffector(Ogre::ParticleSystem* psys) ;
	};
}

#endif